package com.hrbxlh.dao;

import com.hrbxlh.pojo.CourseOrExpre;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * Created by Administrator on 2018/7/4.
 */
@Repository
public interface CoursePowerDao {

    int addCousrPower(Map<String,Object> map) throws Exception;

     List<Map<String, Object>> getCoursePowerByName(Map<String, Object> paramMap) throws Exception;

     List<Map<String, Object>> getCoursePowerByNameList(Map<String, Object> paramMap) throws Exception;

    /**
     * @description 查询某能力的详细信息
     * @param 能力id
     * @return List
     * @throws Exception
     */
     List<Map<String,Object>> getCoursePowerDetail(Map<String, Object> paramMap) throws Exception;

     List<Map<String, Object>> getrelCoPoListByPowerId(Map<String, Object> paramMap) throws Exception;

    /**
     * @description 修改能力
     * @param Map<String,Object> paramMap  能力名称
     * @return Map<String, String> result true成功，false失败 errorMsg错误信息
     * @throws Exception
     */
     boolean saveCoursePower(Map<String, Object> paramMap) throws Exception;

    /**
     * @description 删除能力
     * @param Map<String,Object> paramMap  地点id
     * @return Map<String, String> result true成功，false失败 errorMsg错误信息
     * @throws Exception
     */
     void delCoursePowers(List<String> list) throws Exception;

    /**
     * @description 删除能力关联
     * @param Map<String,Object> paramMap  地点id
     * @return Map<String, String> result true成功，false失败 errorMsg错误信息
     * @throws Exception
     */
     boolean delRelCoPoByPowerAndCoureseList(Map<String, Object> paramMap) throws Exception;

    /**
     * @description 通过课程id删除能力关联
     * @param Map<String,Object> paramMap  地点id
     * @return Map<String, String> result true成功，false失败 errorMsg错误信息
     * @throws Exception
     */
     boolean delRelCoPoByCoureseList(List<String> paramList) throws Exception;

    /**
     * @description 通过能力id删除能力与课程的关联
     * @param Map<String,Object> paramMap  地点id
     * @return Map<String, String> result true成功，false失败 errorMsg错误信息
     * @throws Exception
     */
    boolean delRelCoPoByPowerId(Map<String,Object> paramMap) throws Exception;

    /**
     * @description 删除能力与课程的关联
     * @param Map<String,Object> paramMap  地点id
     * @return Map<String, String> result true成功，false失败 errorMsg错误信息
     * @throws Exception
     */
     void delRelCoursePowers(List<String> list) throws Exception;

    /**
     * @description 能力管理列表  分页
     * @param Map<String,Object> paramMap
     * @return List
     * @throws Exception
     */
     List<Map<String,Object>> getCoursePowerList(Map<String, Object> paramMap) throws Exception;

    /**
     * @description 能力管理全部信息
     * @param Map<String,Object> paramMap
     * @return List
     * @throws Exception
     */
     List<Map<String,Object>> getAllReCoursePowerList(Map<String, Object> paramMap) throws Exception;

    /***
     * 插入relCoPo表
     * @param map {powerId,[{courseId,width,expreWidth,homeworkWidth,examWidth}]}
     * @return
     * @throws Exception
     */
    boolean addrelCoPo(Map<String,Object> map) throws Exception;

    /***
     * 插入relCoPo表
     * @param map {powerId,[{courseId,width,expreWidth,homeworkWidth,examWidth}]}
     * @return
     * @throws Exception
     */
    boolean addrelCoPoTwo(Map<String,Object> map) throws Exception;

    /***
     * 更改relCoPo表
     * @param map {expreWidth,homeworkWidth,examWidth}
     * @return
     * @throws Exception
     */
    boolean updateRelCoPo(Map<String,Object> map) throws Exception;

    /**
     * @description 获取删除课程的时候是否提示有课程与能力值关联
     * @param Map<String,Object> paramMap
     * @return List
     * @throws Exception
     */
     List<Map<String,Object>> getRelCoPoListByCourseList(List<String> list) throws Exception;


    /**
     * @description 获取所有能力值对应课程的课程类型
     * @param Map<String,Object> paramMap
     * @return List
     * @throws Exception
     */
     List<Map<String,Object>> getAllCourseTypeList(Map<String, Object> paramMap) throws Exception;

    /**
     * @description 获取课程中各个模块的权重
     * @param
     * @return List
     * @throws Exception
     */
     Map<String,Object> getCourseWidth() throws Exception;

    void addOnlyCourseWidth(Map<String,Object> paramMap) throws Exception;

    void updateOnlyCourseWidth(Map<String,Object> paramMap) throws Exception;

}
